Kotlinのsealed class
Kotlinの
Sealed Class
限定されたサブクラスを持つことができるクラス
パターンマッチングがより安全になる
例
code:kt
sealed class Expr
data class Const(val number: Double) : Expr()
data class Sum(val e1: Expr, val e2: Expr) : Expr()
union型のイメージ
type Expr = Const | Sum